SetVariable
Weist einer Variablen einen Wert zu. Der Wert kann aus mehreren Elementen bestehen (siehe zweites Beispiel).
Kindelemente
Attribute, ClearPage, Column, Columns, Copy-of, Element, ForAll, Loop, Ol, Output, Paragraph, PlaceObject, SortSequence, Switch, Table, TableNewPage, Tablehead, Tablerule, Td, Tr, Ul, Value
Elternelemente
AtPageCreation, AtPageShipout, Case, Contents, ForAll, Function, Include, Layout, Loop, Otherwise, Record, SavePages, Table, Until, While
Attribute
- execute(optional, seit Version 4.11.8)
- 
Führe den Inhalt sofort aus oder später bei der Benutzung. - now
- 
Führe den Inhalt sofort aus (Voreinstellung). 
- later
- 
Führe den Inhalt bei der Benutzung von Copy-of aus. Experimentell. 
 
- select(XPath-Ausdruck, optional)
- 
Inhalt, der der Variablen zugewiesen wird. 
- trace(optional)
- 
Zeige Informationen über die Zuweisung in der Logdatei. - yes
- 
Zeige Informationen. 
- no
- 
Zeige keine Informationen (Voreinstellung). 
 
- type(optional, seit Version 4.3.10)
- 
Setzt den Datentyp der Variable. Derzeit nur für MetaPost-Variablen unterstützt. - sd:any
- 
Der voreingestellte Datentyp für die speedata Layoutsprache. 
- mp:boolean
- 
Ein boolescher Wert für MetaPost. 
- mp:cmykcolor
- 
Eine MetaPost CMYK Farbe. 
- mp:numeric
- 
Ein nummerischer Wert für MetaPost. 
- mp:string
- 
Eine Zeichenkette für MetaPost. 
- mp:rgbcolor
- 
Eine MetaPost RGB Farbe. 
 
- variable(Text)
- 
Name der Variablen, der etwas zugewiesen werden soll. 
Bemerkungen
Variablen haben eine globale Sichtbarkeit.
Beispiel
<Record element="produkt">
  <SetVariable variable="Textbreite" select="5"/>
  <PlaceObject>
    <Textblock width="{ $Textbreite }">
      <Paragraph>
        <Value select="$Artikelnummer"/>
      </Paragraph>
    </Textblock>
  </PlaceObject>
</Record>
Folgendes Beispiel zeigt, wie mehrere Absätze in einer Variablen gespeichert werden, um sie anschließend in einem Textblock auszugeben.
<Record element="produkte">
  <SetVariable variable="Artikeltext"/>
  <ProcessNode select="artikel"/>
  <PlaceObject>
    <Textblock>
      <Value select=" $Artikeltext "/>
    </Textblock>
  </PlaceObject>
</Record>
<Record element="artikel">
  <SetVariable variable="Artikeltext">
    <!-- Der vorherige Inhalt wird hinzugefügt -->
    <Value select="$Artikeltext"/>
    <Paragraph>
      <Value select=" @beschreibung " />
    </Paragraph>
  </SetVariable>
</Record>
Siehe auch
Die Kapitel Programmierung und Bilder mit MetaPost erstellen und einbinden.
